package com.shujia.day02;

public class Code08LuoJi {
    public static void main(String[] args) {

        // 对于逻辑运算来说，前后顺序影响不大
        // &运算 两者为ture返回为true,否则结果为false
        System.out.println(true & false); // false
        System.out.println(true & true); // true
        System.out.println(false & true); // false

        // | 或运算 只要出现true,结果就为true
        System.out.println(true | false); //true
        System.out.println(false | false); //false
        System.out.println(true | true); //true

        // ^(异或) 两者相同返回false,否则为true
        System.out.println(true ^ false); // true
        System.out.println(true ^ true); // false

        // !非
        System.out.println(!false); //true


        int a = 3;
        int b = 4;
        // && 表示当前面的结果为false 直接返回结果为false 后面的逻辑不做处理
        //       当前面的结果为true时，再计算后面的逻辑，如果为true,那么最终结果为true,如果为false那么最终结果为false
        System.out.println((a++ < b) && (a++ == b));
        System.out.println("a:"+a);

        a = 4;
        // || 表示 当前面的结果为true时，直接返回结果为true,后面的逻辑不做处理
//                当前面的结果为false时，再计算后面的逻辑，如果为true,那么最终结果为true,如果为false那么最终结果为false
        System.out.println(false || (a++ == b)); //true
        System.out.println("a:"+a); // 5
        System.out.println(true || (a++ > b)); // true
        System.out.println("a:"+a); // 5





    }
}
